package main

//  来个递归写法
func numberOfMatches(n int) int {
	var f func(num int) int
	f = func(num int) int {
		if num == 1 {
			return 0
		}
		// 余数， 除数
		carry, div := num%2, num/2
		return div + f(carry+div)
	}
	return f(n)
}
